package com.yunke.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 充值配置VO
 * 
 * @author yunke
 * @since 1.0.0
 */
@Data
@Schema(description = "充值配置信息")
public class YunkeRechargeConfigVo {

    /**
     * 最小充值金额
     */
    @Schema(description = "最小充值金额", example = "1.00")
    private BigDecimal minAmount;

    /**
     * 最大充值金额
     */
    @Schema(description = "最大充值金额", example = "50000.00")
    private BigDecimal maxAmount;

    /**
     * 推荐充值金额
     */
    @Schema(description = "推荐充值金额")
    private List<BigDecimal> recommendAmounts;

    /**
     * 支持的支付方式
     */
    @Schema(description = "支持的支付方式")
    private List<PayTypeVo> payTypes;

    /**
     * 充值说明
     */
    @Schema(description = "充值说明")
    private String description;

    /**
     * 支付方式VO
     */
    @Data
    @Schema(description = "支付方式")
    public static class PayTypeVo {
        /**
         * 支付方式：1-微信支付 2-支付宝 3-余额支付
         */
        @Schema(description = "支付方式：1-微信支付 2-支付宝 3-余额支付")
        private Integer type;

        /**
         * 支付方式名称
         */
        @Schema(description = "支付方式名称")
        private String name;

        /**
         * 是否启用
         */
        @Schema(description = "是否启用")
        private Boolean enabled;

        /**
         * 手续费率
         */
        @Schema(description = "手续费率")
        private BigDecimal feeRate;

        /**
         * 图标
         */
        @Schema(description = "图标")
        private String icon;
    }
} 